package com.ybbase.framework.model.po.flow;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;

/**
 * <p>
 * 动作记录
 * </p>
 *
 * @author cg
 * @since 2019-12-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("act_action_record")
@ApiModel(value="ActionRecord对象", description="动作记录")
public class ActionRecord extends Model<ActionRecord> {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "唯一编码 : 唯一编码")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "动作代码 : 动作代码")
    private String actionCode;

    @ApiModelProperty(value = "动作名称 : 动作名称")
    private String actionName;

    @ApiModelProperty(value = "执行开始时间 : 执行开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "执行结束时间 : 执行结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "执行时间 : 执行时间")
    private Integer executionTime;

    @ApiModelProperty(value = "节点编码 : 节点编码")
    private String nodeCode;

    @ApiModelProperty(value = "流程编码 : 流程编码")
    private String flowCode;

    @ApiModelProperty(value = "是否执行成功 :  0表示执行成功 1表示失败")
    private Integer isExecutionSuccess;

    @ApiModelProperty(value = "执行结果 : 执行结果")
    private String resultsMsg;

    @ApiModelProperty(value = "业务实例记录id : 业务实例记录id")
    private Integer instanceRecordId;

    @ApiModelProperty(value = "流程节点记录id : 流程节点记录id")
    private Integer nodeRecordId;

    @ApiModelProperty(value = "返回代码 : 返回代码")
    private String resultCode;

    @ApiModelProperty(value = "备注 : 备注")
    private String remarks;

    @ApiModelProperty(value = "业务id : 业务id")
    private String businessId;

    @ApiModelProperty(value = "业务名称 : 业务名称")
    private String businessName;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
